import java.util.Arrays;
import java.util.Locale;
import java.util.Scanner;

public class Main {


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int a = 1, b = 1, c = 0, num = 3;
        //int n1 = 0, n2 = 0, sum = 0;
        int n = scanner.nextInt();
        int[] arr = new int[n+1];
        arr[0] = 0;
        arr[1] = 1;
        for (int i = 1; i < arr.length; i++) {
            arr[i+1] = arr[i] + arr[i-1];
        }
        if(n < 3){
            System.out.println("1");
        }else{
            System.out.println(arr[n - 1] * (arr[n] + arr[n - 1]) - arr[n] * arr[n]);
        }

    }



        public static void main6(String[] args) {
            Scanner scanner = new Scanner(System.in);

            // 读取序列的长度
            int n = scanner.nextInt();
            int[] sequence = new int[n];

            // 读取序列中的数字
            for (int i = 0; i < n; i++) {
                sequence[i] = scanner.nextInt();
            }

            // 关闭输入流
            //scanner.close();

            // 对序列进行排序
            Arrays.sort(sequence);

            // 从最大的数字开始找最大的非完全平方数
            for (int i = sequence.length - 1; i >= 0; i--) {
                if (!isPerfectSquare(sequence[i])) {
                    System.out.println(sequence[i]);
                    break;
                }
            }
        }

        // 判断一个数是否是完全平方数
        private static boolean isPerfectSquare(int num) {
            int sqrt = (int) Math.sqrt(num);
            return sqrt * sqrt == num;
        }






    public static boolean func( int num){

        if(num < 0){
            return false;
        }
        int sqrt = (int) Math.sqrt(num);
        return sqrt*sqrt == num;
    }

    public static void main5(String[] args) {

        Scanner sc = new Scanner(System.in);
        double n = sc.nextInt();
        double max = 0;
        int m = (int)n;
        double[] arr = new double[m];

        for (int i = 0; i < n; i++){
            arr[i] = sc.nextDouble();
        }
//        for(int i  =0; i < n; i++){
//            if(func(arr[i])){
//                max = arr[i];
//            }
//        }

        System.out.println(max);

    }

    public static void main4(String[] args) {

        Scanner sc = new Scanner(System.in);
        double sum = 0;
        while(sc.hasNextDouble()){
            sum += sc.nextDouble();
        }

        System.out.printf("%.2f", sum/5);
    }


    public static void main3(String[] args) {

        int cow = 0;
        int col = 0;
        int max = 0;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[][] arr = new int[n][m];//

        for(int i = 0; i < n; i++) {

            for(int j = 0; j < m; j++){

                arr[i][j] = sc.nextInt();
                if(arr[i][j] > max){
                    max = arr[i][j];
                    cow = i+1;
                    col = j+1;
                }
            }
        }
        System.out.printf("%d %d", cow, col);

    }

    public static void main2(String[] args) {

        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        for(int i = 0 ; i < 10; i++) {
            arr[i] = sc.nextInt();
        }

        for(int i = 9; i >= 0; i--) {
            System.out.printf("%d ", arr[i]);
        }
    }

    public static void main1(String[] args) {


        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();


        String[] ss = s.split(" ");

        StringBuilder sum = new StringBuilder();
        for(int i = 0; i<ss.length; i++){
            sum.append(ss[i].charAt(0));
        }

        System.out.println(sum.toString().toUpperCase());
    }
}

